package com.flute.haflute.jobbox.communication;

import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;

/**
 * 全局监听池，便于管理，重连所有监听器等
 * 
 */
public class ChildListenerManager {
	private static List<ChildListener> listenerCache = new ArrayList<ChildListener>();

	/** 添加到池子中 */
	public static void add2ListenerCache(ChildListener listener) {
		if (!listenerCache.contains(listener))
			listenerCache.add(listener);
	}

	/** 获得所有活动的监听器 */
	public static List<ChildListener> getFromListenerCache() {
		return listenerCache;
	}

	/** 重连监听器到主节点 */
	public static void reconnectAll2Server() throws RemoteException {
		for (ChildListener listener : listenerCache) {
			listener.reconnect2Server();
		}
	}
}
